<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	template="/templates/modeloSistema.xhtml">

	<ui:define name="menu">
		<ui:include src="/includes/menuPrincipal.xhtml" />
	</ui:define>

	<ui:define name="conteudo">

		<f:event listener="#{MBCidade.carregarCidade}" type="preRenderView" />

		<h:form prependId="false" id="frmCidListagem">

			<p:dataTable id="tblCidade" widgetVar="tabelaCidListagem"
				emptyMessage="Nenhum Cidade Registrada" value="#{MBCidade.cidade}"
				var="cidade" paginator="true" rows="10"
				filteredValue="#{MBCidade.clienteFiltrados}">

				<f:facet name="header">

					<h:outputText value="Cidades Cadastradas" />
				</f:facet>

				<p:column headerText="Código" sortBy="#{cidade.codCidade}"
					filterBy="#{cidade.codCidade}">
					<h:outputText value="#{cidade.codCidade}" />
				</p:column>

				<p:column headerText="Nome" sortBy="#{cidade.nome}"
					filterBy="#{cidade.nome}">
					<h:outputText value="#{cidade.nome}" />
				</p:column>

				<p:column headerText="UF" sortBy="#{cidade.uf}"
					filterBy="#{cidade.uf}">
					<h:outputText value="#{cidade.uf}" />
				</p:column>
				<p:column headerText="IBGE" sortBy="#{cidade.codIbge}"
					filterBy="#{cidade.codIbge}">
					<h:outputText value="#{cidade.codIbge}" />
				</p:column>

				<p:column headerText="Opções">
					<p:commandButton icon="ui-icon-trash" value="Excluir"
						oncomplete="PF('dlgCidExcluir').show();"
						update=":frmCidExcluir:pnlCidExcluir">
						<f:setPropertyActionListener value="#{cidade}"
							target="#{MBCidade.cidadeDomain}" />
					</p:commandButton>


					<p:commandButton icon="ui-icon-pencil" value="Editar"
						oncomplete="PF('dlgCidEditar').show();"
						actionListener="#{MBCidade.prepararEditar}"
						update=":frmCidEditar:pnlCidEditar">
						<f:setPropertyActionListener value="#{cidade}"
							target="#{MBCidade.cidadeDomain}" />
					</p:commandButton>
				</p:column>



				<f:facet name="footer">
					<p:commandButton value="Novo"
						actionListener="#{MBCidade.prepararNovo}"
						oncomplete="PF('dlgCidaNovo').show();"
						update=":msgGlobal :frmCidaNovo:pnlCidaNovo" />

				</f:facet>
			</p:dataTable>
		</h:form>

		<p:dialog widgetVar="dlgCidaNovo" closable="true" draggable="false"
			resizable="false" modal="true" appendTo="@(body)"
			header="Adicionar Cidade">
			
			<h:form prependId="false" id="frmCidaNovo">
				<h:panelGrid id="pnlCidaNovo" columns="2">
					<p:outputLabel for="txtcidnovo" value="Cidade:" />
					<p:inputText id="txtcidnovo" size="30" maxlenght="50" required="true"
						value="#{MBCidade.cidadeDomain.nome}"
						requiredMessage="Campo nome obrigatório" />


					<p:outputLabel for="txtibge" value="IBGE:" />
					<p:inputText id="txtibge" size="30" maxlenght="50" required="true"
						value="#{MBCidade.cidadeDomain.codIbge}"
						requiredMessage="Campo IBGE obrigatório" />
					
					<p:outputLabel for="TXTUF" value="UF:" />
					<p:inputText id="TXTUF" size="2" maxlenght="2" required="true"
						value="#{MBCidade.cidadeDomain.uf}" requiredMessage="Campo nome obrigatório" />
					

				</h:panelGrid>
				<h:panelGrid columns="2">
					<p:commandButton value="Gravar" actionListener="#{MBCidade.novo}"
						update=":frmCidListagem:tblCidade :msgGlobal" 
						oncomplete="verificar(xhr, status, args, 'dlgCidaNovo', 'tabelaCidListagem');"/>
					<p:commandButton value="Cancelar" process="@this"
						onclick="PF('dlgCidaNovo').hide();" >
						<p:resetInput target="pnlCidaNovo"/>
						</p:commandButton>
				</h:panelGrid>
			</h:form>
		</p:dialog>

		<!-- Excluir -->

		<p:dialog widgetVar="dlgCidExcluir" closable="true" droggable="false"
			rezisable="false" modal="true" appendTo="@(body)"
			closeOnEscape="true" header="Cidade - Excluir">

			<h:form prependId="false" id="frmCidExcluir">
				<h:panelGrid columns="2" id="pnlCidExcluir">

					<p:outputLabel value="Código: " />
					<h:outputText value="#{MBCidade.cidadeDomain.codCidade}" />

					<p:outputLabel value="Nome: " />
					<h:outputText value="#{MBCidade.cidadeDomain.nome}" />

					<p:outputLabel value="UF: " />
					<h:outputText value="#{MBCidade.cidadeDomain.uf}" />

					<p:outputLabel value="IBGE: " />
					<h:outputText value="#{MBCidade.cidadeDomain.codIbge}" />

				</h:panelGrid>

				<h:panelGrid columns="2">
					<p:commandButton value="Excluir" actionListener="#{MBCidade.excluirCidade}"
						update=":frmCidListagem:tblCidade :msgGlobal" 
						oncomplete="verificar(xhr, status, args, 'dlgCidExcluir', 'tabelaCidListagem');"/>
					<p:commandButton value="Cancelar" process="@this"
						onclick="PF('dlgCidExcluir').hide();" >
						<p:resetInput target="pnlCidExcluir"/>
						</p:commandButton>					
				</h:panelGrid>


			</h:form>


		</p:dialog>

		<!-- Editar-->

		<p:dialog widgetVar="dlgCidEditar" closable="true" droggable="false"
			resizable="false" modal="true" appendTo="@(body)"
			closeOnEscape="true" header="Editar-Cidade">
			<h:form id="frmCidEditar" prependId="false">
				<h:panelGrid id="pnlCidEditar" columns="2">

					<p:outputLabel value="Código" />
					<h:outputText value="#{MBCidade.cidadeDomain.codCidade}" required="true" requiredMessage="Campo IBGE obrigatório" />

					<p:outputLabel for=" nome1" value="Nome" />
					<p:inputText id="nome1" value="#{MBCidade.cidadeDomain.nome}"
						maxlength="50" size="40" required="true" requiredMessage="Campo IBGE obrigatório" />

					<p:outputLabel for="IBGE1" value="IBGE" />
					<p:inputText id="IBGE1" value="#{MBCidade.cidadeDomain.codIbge}"
						mask="11.11.11" required="true" requiredMessage="Campo IBGE obrigatório" />

					<p:outputLabel for="UF1" value="UF" />
					<p:inputText id="UF1" value="#{MBCidade.cidadeDomain.uf}"
						maxlength="50" size="40" required="true" requiredMessage="Campo IBGE obrigatório" />


				</h:panelGrid>
				<h:panelGrid columns="2">
						<p:commandButton value="Editar"
						actionListener="#{MBCidade.editarCidade}"
						update=":msgGlobal :frmCidListagem:tblCidade"
						oncomplete="verificar(xhr, status, args, 'dlgCidEditar', 'tabelaCidListagem')" />
					<p:commandButton value="Cancelar"
						onclick="PF('dlgCidEditar').hide();" process="@this">
						<p:resetInput target="pnlCidEditar" />
					</p:commandButton>




				</h:panelGrid>
			</h:form>

		</p:dialog>
		
		<h:form>
			<p:commandButton value="Relatório"
				actionListener="#{RelatorioMB.gerarRelatorioCidade()}"
				target="_blank" ajax="false" />
		</h:form>
	</ui:define>
</ui:composition>